/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package es.upsam.modelo;

import es.upsam.modelo.dao.persistencia;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author carmas
 */
public class Comentario {
    int id;
    int foro;
    int usuario;
    String texto;

    public int getForo() {
        return foro;
    }

    public void setForo(int foro) {
        this.foro = foro;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTexto() {
        return texto;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }

    public int getUsuario() {
        return usuario;
    }

    public void setUsuario(int usuario) {
        this.usuario = usuario;
    }

    public int persistir(){
        int i;

        persistencia p = new persistencia();

        String query ="INSERT INTO APP.COMENTARIOS (ID_COMETARIO,ID_FORO,ID_USUARIO,TEXTO) ";
               query+="values ((SELECT max(ID_COMETARIO)+1 FROM APP.COMENTARIOS),";
               query+=this.foro +","+ this.usuario +",'"+ this.texto +"')";

        i = p.ejecutarActualizacion(query);
        p.Cerrar();
        return i;
    }


    public void consultarPorId (int id){
       try {
            String query = "select ID_COMETARIO,ID_FORO,ID_USUARIO,TEXTO from APP.COMENTARIOS where ID_COMETARIO ="+id;
            persistencia p = new persistencia();
            ResultSet rs = p.ejecutarConsulta(query);
            while (rs.next()) {
                this.id = rs.getInt("ID_COMETARIO");
                this.foro = rs.getInt("ID_FORO");
                this.usuario = rs.getInt("ID_USUARIO");
                this.texto = rs.getString("TEXTO");;
            }
            rs.close();
            p.Cerrar();
        } catch (SQLException ex) {
            Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    }



    public void consultarPorForo(int foro){
       try {
            String query = "select ID_COMETARIO,ID_FORO,ID_USUARIO,TEXTO from APP.COMENTARIOS where ID_FORO ="+foro;
            persistencia p = new persistencia();
            ResultSet rs = p.ejecutarConsulta(query);
            while (rs.next()) {
                this.id = rs.getInt("ID_COMETARIO");
                this.foro = rs.getInt("ID_FORO");
                this.usuario = rs.getInt("ID_USUARIO");
                this.texto = rs.getString("TEXTO");;
            }
            rs.close();
            p.Cerrar();
        } catch (SQLException ex) {
            Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void consultarPorUsuario(int usuario){
       try {
            String query = "select ID_COMETARIO,ID_FORO,ID_USUARIO,TEXTO from APP.COMENTARIOS where ID_USUARIO ="+usuario;
            persistencia p = new persistencia();
            ResultSet rs = p.ejecutarConsulta(query);
            while (rs.next()) {
                this.id = rs.getInt("ID_COMETARIO");
                this.foro = rs.getInt("ID_FORO");
                this.usuario = rs.getInt("ID_USUARIO");
                this.texto = rs.getString("TEXTO");;
            }
            rs.close();
            p.Cerrar();
        } catch (SQLException ex) {
            Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void consultarPorTexto(String texto){
       try {
            String query = "select ID_COMETARIO,ID_FORO,ID_USUARIO,TEXTO from APP.COMENTARIOS where TEXTO like '%"+texto+"%'";
            persistencia p = new persistencia();
            ResultSet rs = p.ejecutarConsulta(query);
            while (rs.next()) {
                this.id = rs.getInt("ID_COMETARIO");
                this.foro = rs.getInt("ID_FORO");
                this.usuario = rs.getInt("ID_USUARIO");
                this.texto = rs.getString("TEXTO");;
            }
            rs.close();
            p.Cerrar();
        } catch (SQLException ex) {
            Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}